$(function () {
//声明变量
    var emp_dialog =  $("#emp_dialog");
    var password_form =$('#password_form');
    var emp_form = $("#emp_form");
    var emp_datagrid =   $("#emp_datagrid");
    var empPassword_dialog =  $("#empPassword_dialog");

    emp_datagrid.datagrid({
        url:'/employee/query.do',
        fit:true,
        fitColumns:true,
        toolbar:'#emp_toolbar',
        pagination:true,
        rownumber:true,
        singleSelect:true,
        sortName: 'hireDate',
        sortOrder:'desc',
        onSelect:function (index,row) {
            if (row.state) {
                $("#state_btn").linkbutton({
                    text:"离职"
                })
            }else{
                $("#state_btn").linkbutton({
                    text:"复职"
                })
            }
        },
        columns:[[
            {field:'id',checkbox:true},
            {field:'username',title:'用户名',width:80},
            {field:'realname',title:'真实姓名',width:80},
            {field:'tel',title:'电话',width:80,formatter:function (value,row,index) {
                    //当前对象是否存在
                    return '<a  style="text-decoration:none;color:black" href="tencent://message/?uin='+value+'&Site=&Menu=yes"><img src="http://wpa.qq.com/imgd?IDKEY=9c8c30c2aab0ca8f91d4272408395bc109011a8e1966b7d5&pic=52" />'+value+'</a>';
                }},
            {field:'email',title:'邮箱',width:80},
            {field:'dept',title:'部门',width:80,formatter:function (value,row,index) {
                    //当前对象是否存在
                    return value? value.name:'';
                }},
            {field:'hireDate',title:'入职时间',width:80,sortable:true},
            {field:'state',title:'在职信息',width:80,formatter:function (value,row,index) {
                    //判断当前值是true false
                    return value === true ?"在职" : "<font color='red'>离职</font>"
                }},
            {field:'admin',title:'超级管理员',width:80,formatter:function (value) {
                    return value?"是":"否";
                }}
        ]]
    });
    //配置dialog
    emp_dialog.dialog({
        width:290,
        height:400,
        buttons:'#btn',
        close:true,
        onClose:function () {
            //关闭的同时清除表单数据
            emp_form.form('clear');
        }
    });
    empPassword_dialog.dialog({
        width:350,
        height:230,
        buttons:'#passwordbtn',
        close:true,
        onClose:function () {
            //关闭的同时清除表单数据
            password_form.form('clear');
        }
    });
    var methodObj = {
        add:function(){
        $("#psw").show();
        emp_dialog.dialog('open');
        emp_dialog.dialog('setTitle','新增员工');
        },
        changeState:function () {
            //获取一行数据
            var row = emp_datagrid.datagrid('getSelected');
            //判断是否有选择选择数据
            if (!row) {
                //没有选择数据提示用户
                $.messager.alert("温馨提示", "至少要选择一条数据", "warning");
                return;//终止操作
            }
            //弹出确认框
            $.messager.confirm('确认', '您确认想要执行操作吗？', function (r) {
                if (r) {
                    //给后台发送后台
                    $.get("/employee/changeState.do", {id: row.id}, function (data) {
                        if (data.success) {
                            $.messager.alert('温馨提示', '操作成功', 'info', function () {
                                //加载刷新到当前界面
                                emp_datagrid.datagrid('reload');
                            })
                        } else {
                            $.messager.alert("温馨提示", "操作失败", "error");
                        }
                    })
                }
            })
        },
        edit:function (){
            //获取一行数据
            var row = emp_datagrid.datagrid('getSelected');
            $("#psw").hide();
            if (!row) {
                //没有选择数据提示用户
                $.messager.alert("温馨提示","至少要选择一条数据","warning");
                return;//终止操作
            }
            //同名匹配,回显表单部门数据
            row["dept.id"] = row.dept.id;
            emp_form.form('load',row);
            //回显表单的角色信息 单独发送请求查询
            $.get('/role/selectByEmployeeId.do',{employeeId:row.id},function(data){
                //回显角色下拉框 调用combobox的方法setValues
                $("#role_combobox").combobox('setValues',data);
            });

            //处理好回显数据后,打开编辑框
            emp_dialog.dialog('open');
            //设置标题
            emp_dialog.dialog('setTitle','编辑员工');
        },
        saved:function (){
            //提交表单
            emp_form.form("submit",{
                url:'/employee/saveOrUpdate.do',
                onSubmit:function(param){
                    //获取下拉框数据
                    var roleIds = $("#role_combobox").combobox('getValues');
                    //遍历拼接为后台接收数据
                    for(var i=0;i< roleIds.length;i++){
                        //返回参数中创建roles[i].id 设置值为roleIds[i]
                        param["roles["+i+"].id"] = roleIds[i]
                    }
                },
                success:function (data) {
                    //回调函数:data表示返回数据解析为json
                    data = $.parseJSON(data);
                    if (data.success) {
                        //如果返回结果成功__弹出窗口提示
                        $.messager.alert('温馨提示','保存成功','info',function () {
                            methodObj.cancel();
                            emp_datagrid.datagrid('reload');
                        })

                    }else {
                        //如果保存失败,则弹出窗口提示
                        $.messager.alert('温馨提示',data.msg,'error');
                    }
                }
            });
        },
    savePassword:function (){
            //提交表单
            password_form.form("submit",{
                url:'/employee/updatePassword.do',
                success:function (data) {
                    //回调函数:data表示返回数据解析为json
                    data = $.parseJSON(data);
                    if (data.success) {
                        //如果返回结果成功__弹出窗口提示
                        $.messager.alert('温馨提示','保存成功','info',function () {
                            methodObj.cancel();
                            emp_datagrid.datagrid('reload')
                        })

                    }else {
                        //如果保存失败,则弹出窗口提示
                        $.messager.alert('温馨提示','保存失败','error');
                    }
                }

            });
        },
        cancel: function (){
            //关闭弹出框:
            emp_dialog.dialog('close');
            empPassword_dialog.dialog('close');

        },
        query:function (){
            //获取查询条件
            var keyword =  $("#keyword").textbox('getValue');
            var minTime = $("#minTime").datebox('getValue');
            var maxTime = $("#maxTime").datebox('getValue');
            //通过datagrid 的 load方法传递参数
            emp_datagrid.datagrid('load',{
                keyword:keyword
                /*hireDate:hireDate*/
            });
            emp_datagrid.datagrid('load',{//这个是数据表格,下面函数是获取数据表达的值
                minTime:minTime,
                maxTime:maxTime
            });
        },
        changePassword: function (){
            //获取一行数据
            var row = emp_datagrid.datagrid('getSelected');
            //判断是否有选择选择数据
            if (!row) {1
                //没有选择数据提示用户
                $.messager.alert("温馨提示","至少要选择一条数据","warning");
                return;//终止操作
            }
            password_form.form('load',row);
            empPassword_dialog.dialog('open');
            //设置标题
            empPassword_dialog.dialog('setTitle','修改密码');
        }
    };
    //统一绑定事件:
    $("a[data-cmd]").click(function () {
        var methodname = $(this).data("cmd");
        //动态获取调用方法名字,调用方法;
        methodObj[methodname]();
    })
});

//删除

//编辑

//============表单的 按钮 保存/取消=================


//保存密码


//高级查询


//修改密码

